Skip to content

[Snyk] Upgrade react-native-screens from 4.19.0 to 4.20.0#39

Closed
chirag127 wants to merge 2 commits into
mainfrom
snyk-upgrade-63c5b81d4bcab5e8d973be8c2b4af3df
Closed

[Snyk] Upgrade react-native-screens from 4.19.0 to 4.20.0#39
chirag127 wants to merge 2 commits into
mainfrom
snyk-upgrade-63c5b81d4bcab5e8d973be8c2b4af3df

Conversation

@chirag127

Copy link
Copy Markdown
Owner

snyk-top-banner

Snyk has created this PR to upgrade react-native-screens from 4.19.0 to 4.20.0.

ℹ️ Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


  • The recommended version is 36 versions ahead of your current version.

  • The recommended version was released 22 days ago.

Release notes
Package name: react-native-screens
  • 4.20.0 - 2026-01-19

    What's Changed

    Minor release bringing improvements to formSheet on Android in form of support for "dynamic content size" when fitToContents is selected. Beside that important a11y update for bottom tabs and other fixes.

    🟢 Improvements

    • fix(Android, FormSheet): Fix dynamic height change for fitToContents by @ t0maboro in #3484
    • fix(Android, FormSheet): Fix Y translation when fitToContents content overflows Screen size by @ t0maboro in #3522
    • feat: Remove componentProvider from package.json by @ kmichalikk in #3504
    • feat: Add testId and accessibilityLabel for BottomTabsScreen and Item by @ kmichalikk in #3497
    • feat(Tabs): allow full tabs background color styling by @ kligarski in #3492

    🐛 Bug fixes

    • fix(iOS, Stack): center subview not visible/misaligned in header by @ kligarski in #3489
    • fix: fix library typing for React 19 by @ kkafar in #3509
    • fix(iOS): fix issue with ill-formed program due to usage of static_assert(false) by @ kkafar in #3523

    ⚠️ Changes in experimental APIs

    • chore(Stack): rename components related to new stack by @ kkafar in #3485
    • chore(Stack): rename ScreenStackHost to StackHost by @ kkafar in #3486
    • chore(Split): reorganize Split component exports and naming by @ kkafar in #3487
    • chore(Stack): rename maxLifecycleState to activityMode by @ kkafar in #3505
    • feat(Tabs)!: export tabs related components under Tabs object + drop Bottom* prefix by @ kkafar in #3535

    🔢 Misc

    • chore: Update FormSheet-SAV integration test to cover sheetShouldOverflowTopInset by @ t0maboro in #3503
    • chore(JS): use new platform specific icon syntax in tests by @ kligarski in #3490
    • chore(Stack): refactor component definition & nomenclature on native side by @ kkafar in #3493
    • chore(Stack): move impl source files for "host" and "screen" into separate dirs by @ kkafar in #3494
    • docs(readme): add sorn25 banner by @ p-malecki in #3506
    • docs(readme): remove sorn25 banner by @ p-malecki in #3539
    • chore: update PR template with new requirements by @ kkafar in #3519
    • chore: add reference StackContainer implementation by @ kkafar in #3518
    • chore: Remove react-native-edge-to-edge from example apps by @ kmichalikk in #3520
    • chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /TVOSExample by @ dependabot[bot] in #3498
    • chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /FabricExample by @ dependabot[bot] in #3507
    • chore(deps): bump qs from 6.14.0 to 6.14.1 in /docs by @ dependabot[bot] in #3513
    • chore(deps): bump qs from 6.14.0 to 6.14.1 in /TVOSExample by @ dependabot[bot] in #3516
    • chore(deps): bump js-yaml from 3.14.1 to 3.14.2 by @ dependabot[bot] in #3517

    New Contributors

    Full Changelog: 4.19.0...4.20.0

  • 4.20.0-nightly-20260118-bd7ee6eb3 - 2026-01-18
  • 4.20.0-nightly-20260117-bd7ee6eb3 - 2026-01-17
  • 4.20.0-nightly-20260116-bd7ee6eb3 - 2026-01-16
  • 4.20.0-nightly-20260115-102b6ac57 - 2026-01-15
  • 4.20.0-nightly-20260114-102b6ac57 - 2026-01-14
  • 4.20.0-nightly-20260113-3c8d8501e - 2026-01-13
  • 4.20.0-nightly-20260112-3c8d8501e - 2026-01-12
  • 4.20.0-nightly-20260111-9ae645da7 - 2026-01-11
  • 4.20.0-nightly-20260110-9ae645da7 - 2026-01-10
  • 4.20.0-nightly-20260109-9ae645da7 - 2026-01-09
  • 4.20.0-nightly-20260108-9ae645da7 - 2026-01-08
  • 4.20.0-nightly-20260107-9ae645da7 - 2026-01-07
  • 4.20.0-nightly-20260106-82e5c5fc4 - 2026-01-06
  • 4.20.0-nightly-20260105-82e5c5fc4 - 2026-01-05
  • 4.20.0-nightly-20260104-914a4c101 - 2026-01-04
  • 4.20.0-nightly-20260103-914a4c101 - 2026-01-03
  • 4.20.0-nightly-20260102-914a4c101 - 2026-01-02
  • 4.20.0-nightly-20260101-914a4c101 - 2026-01-01
  • 4.20.0-nightly-20251231-914a4c101 - 2025-12-31
  • 4.20.0-nightly-20251230-914a4c101 - 2025-12-30
  • 4.20.0-nightly-20251229-914a4c101 - 2025-12-29
  • 4.20.0-nightly-20251228-914a4c101 - 2025-12-28
  • 4.20.0-nightly-20251227-914a4c101 - 2025-12-27
  • 4.20.0-nightly-20251226-914a4c101 - 2025-12-26
  • 4.20.0-nightly-20251225-914a4c101 - 2025-12-25
  • 4.20.0-nightly-20251224-914a4c101 - 2025-12-24
  • 4.20.0-nightly-20251223-914a4c101 - 2025-12-23
  • 4.20.0-nightly-20251222-b0999ccc4 - 2025-12-22
  • 4.20.0-nightly-20251221-06a5812f7 - 2025-12-21
  • 4.20.0-nightly-20251220-06a5812f7 - 2025-12-20
  • 4.20.0-nightly-20251219-06a5812f7 - 2025-12-19
  • 4.20.0-nightly-20251218-06a5812f7 - 2025-12-18
  • 4.20.0-nightly-20251217-952b7cd54 - 2025-12-17
  • 4.20.0-nightly-20251216-94c1d7108 - 2025-12-16
  • 4.20.0-nightly-20251215-f65b107bd - 2025-12-15
  • 4.19.0 - 2025-12-15

    What's Changed

    Minor release. It comes with many improvements & bug fixes. Notably:

    1. bottomAccessory support for native tabs on iOS,
    2. special effects support for tabs on Android,
    3. support for synchronous state updates (behind a feature flag),
    4. quite few more.

    ⚠️ This release also removes long-deprecated native-stack v5 code from the repository.

    See the full change set below 👇🏻

    Improvements

    • feat: Remove native-stack v5 from screens repo by @ kmichalikk in #3433
    • feat(iOS, Tabs): add bottomAccessory support by @ kligarski in #3288
    • feat(Android, Tabs): Add special effects to bottom tabs on Android by @ Ubax in #3337
    • feat(iOS, SplitView): Add support for primaryBackgroundStyle prop by @ t0maboro in #3320
    • feat(Stack): Add support for synchronous state updates on fabric for native stack by @ t0maboro in #3282
    • feat(iOS, SafeAreaView): use synchronous state updates by @ kligarski in #3335
    • feat(iOS, SplitView): Add an option for changing number of columns dynamically by @ t0maboro in #3339
    • feat(iOS, SplitView): Migrate to new invalidate method by @ t0maboro in #3364
    • feat(iOS, Tabs): add prop to hide the tab bar by @ kligarski in #3343
    • fix(iOS, Stack): handle icon rendering modes for bar button items by @ kligarski in #3347
    • feat(Android, Tabs): add prop to hide the tab bar by @ kligarski in #3344
    • feat: Bring back gestureResponseDistance on iOS 26 by @ kmichalikk in #3353
    • feat(iOS, Stack): Add controller invalidating to new stack impl by @ t0maboro in #3219
    • feat: add snapshotAfterUpdates property to RNSScreenView by @ bartlomiejbloniarz in #3296
    • feat(iOS, Stack, Tabs, experimental): add prop to override user interface style by @ kligarski in #3342
    • fix(Android, Stack): Moving formsheet above keyboard by @ t0maboro in #3248
    • chore: Update installation steps in docs by @ t0maboro in #3391
    • feat(iOS): add missing features to bar button items by @ Ubax in #3396
    • feat(Tabs): special effects refactor by @ kligarski in #3440
    • chore: bump FabricExample & lib to react-native@0.83 by @ t0maboro in #3456
    • refactor: Remove codegen-related deep imports by @ t0maboro in #3458

    Bug fixes

    • fix(iOS, SplitView): Track visible columns from delegate by @ t0maboro in #3319
    • fix(iOS): Verify that ScrollView gesture hasn't begun when triggering pan gesture by @ kmichalikk in #3271
    • fix(iOS, SplitView): Remove tracking presentation layer in favor of sync state update by @ t0maboro in #3285
    • fix(iOS, Tabs): fix problems with dynamically changing title, icon, systemItem by @ kligarski in #3333
    • fix(iOS, FormSheet): Always use absolute positioning by @ t0maboro in #3351
    • fix(Android, Stack): Make MountingCoordinator vector access thread safe by @ t0maboro in #3363
    • fix(iOS, Stack): Prevent overriding invalidate callback on Fabric by @ t0maboro in #3359
    • fix: RCTViewComponentViewProtocol -> RCTComponentViewProtocol by @ t0maboro in #3365
    • fix(iOS, FullWindowOverlay): Show overlay when app returns from background by @ t0maboro in #3369
    • fix(iOS): load header items icons synchronously when feasible by @ johankasperi in #3355
    • fix(JS, Stack): consider default value for stackPresentation and headerConfig.hidden in ScreenStackItem by @ kligarski in #3374
    • fix(iOS, FullWindowOverlay): Move show logic to didMoveToWindow by @ t0maboro in #3379
    • fix(Android, Stack): Fix flex-end positioning in formSheet by @ t0maboro in #3346
    • fix: circular import in src/types.tsx by @ kligarski in #3394
    • fix: Disable interactions on minimal required subroot by @ kmichalikk in #3311
    • fix(Android, SAV+Tabs+Stack v4): fix CustomToolbar's insets handling to use insets received from ancestor views by @ kligarski in #3240
    • fix(iOS): fix header height in modal, add TestHeaderHeight by @ kligarski in #3393
    • fix(Android, Stack): Fix FormSheet - SafeAreaView integration by @ t0maboro in #3336
    • fix(Android, Tabs): Fix tabs icons loading in release mode by @ t0maboro in #3413
    • fix(Android, Stack): incorrect header height values by @ kligarski in #3402
    • fix(iOS, Tabs): remove incorrect warning on none environment in Bottom Accessory by @ kligarski in #3416
    • fix(iOS): Distinguish horizontal and vertical scroll in gesture failure requirements by @ kmichalikk in #3420
    • fix(Android): layout shift on orientation change by @ kmichalikk in #3295
    • fix(iOS, Tabs): tab screen height when tabs are rendered dynamically by @ kligarski in #3425
    • fix(iOS, Stack): delay setting navigation bar visibility to mitigate bar button bug on iOS 26 by @ kligarski in #3422
    • fix(Android, Stack): Constraint FormSheet height by top inset by @ t0maboro in #3404
    • fix(SplitView, Android & Web): move split view warnings to components by @ Ubax in #3431
    • fix(examples): Stop triggering CPU intensive tasks in top level scope in example apps by @ kkafar in #3432
    • chore: fix imports in bottom accessory by @ kligarski in #3439
    • fix(iOS, FormSheet): Add fallback for searching ScrollView which is inside SAV by @ t0maboro in #3479
    • fix(Android, FormSheet): Fix pressables with TextInput for Fabric by @ t0maboro in #3435
    • fix(JS, stack): Fix push fail after 3rd screen in JS stack by

Snyk has created this PR to upgrade react-native-screens from 4.19.0 to 4.20.0.

See this package in npm:
react-native-screens

See this project in Snyk:
https://app.snyk.io/org/chirag127/project/4c20a98f-d4af-4651-bd1c-01c83de1eee7?utm_source=github&utm_medium=referral&page=upgrade-pr
@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello @chirag127, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request automates the upgrade of the react-native-screens dependency to version 4.20.0. This update brings several improvements and bug fixes, notably enhancing Android formSheet behavior and improving accessibility for bottom tabs, contributing to overall application stability and feature set.

Highlights

  • Dependency Upgrade: Upgraded the react-native-screens dependency from version 4.19.0 to 4.20.0.
  • Android FormSheet Improvements: Incorporated enhancements for Android formSheet functionality, including support for dynamic content size when fitToContents is selected.
  • Accessibility Updates: Included important accessibility updates for bottom tabs within the react-native-screens library.
  • Bug Fixes and Chores: Resolved various bug fixes and applied minor chore updates as part of the react-native-screens 4.20.0 release, improving overall stability.
Changelog
  • spechify-tts/package-lock.json
    • Updated react-native-screens to 4.20.0.
    • Adjusted dependency specifiers for expo-constants, expo-system-ui, and react-native-gesture-handler from ^ to ~.
  • spechify-tts/package.json
    • Updated react-native-screens to ~4.20.0.
Activity
  • Snyk initiated this pull request to propose a dependency upgrade.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@socket-security

socket-security Bot commented Feb 10, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedreact-native-screens@​4.19.0 ⏵ 4.20.099 +1100100100100

View full report

@qodo-code-review

Copy link
Copy Markdown

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: build_and_test

Failed stage: Setup Expo CLI and Install Expo Packages [❌]

Failed test name: ""

Failure summary:

The action failed during the step Run npm install -g expo-cli@51 because npm could not find the
requested package version:
- npm returned ETARGET / notarget with the message No matching version
found for expo-cli@51 (log lines 153-156).
- This caused the command to exit with code 1, failing
the workflow (line 158).

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

138:  shell: /usr/bin/bash -e {0}
139:  env:
140:  NODE_VERSION: 20
141:  EXPO_VERSION: 51
142:  ##[endgroup]
143:  added 1 package, and audited 2 packages in 2s
144:  found 0 vulnerabilities
145:  ##[group]Run npm install -g expo-cli@51
146:  �[36;1mnpm install -g expo-cli@51�[0m
147:  �[36;1mnpx expo install�[0m
148:  shell: /usr/bin/bash -e {0}
149:  env:
150:  NODE_VERSION: 20
151:  EXPO_VERSION: 51
152:  ##[endgroup]
153:  npm error code ETARGET
154:  npm error notarget No matching version found for expo-cli@51.
155:  npm error notarget In most cases you or one of your dependencies are requesting
156:  npm error notarget a package version that doesn't exist.
157:  npm error A complete log of this run can be found in: /home/runner/.npm/_logs/2026-02-10T08_56_57_530Z-debug-0.log
158:  ##[error]Process completed with exit code 1.
159:  Post job cleanup.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request, generated by Snyk, upgrades react-native-screens from version 4.19.0 to 4.20.0. It also adjusts the version specifiers for several other dependencies in package-lock.json from ^ (caret) to ~ (tilde), making them more restrictive. My review focuses on ensuring consistency in these dependency specifiers. I've found one minor inconsistency that should be addressed.

"react-native-reanimated": "~3.19.3",
"react-native-safe-area-context": "4.12.0",
"react-native-screens": "^4.19.0",
"react-native-screens": "^4.20.0",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

For consistency with package.json and the other dependency updates in this PR, the version specifier for react-native-screens should be ~4.20.0 instead of ^4.20.0.

This change would align with the ~ prefix used in package.json and the modifications made to other packages like expo-constants, ensuring more restrictive and predictable versioning.

Suggested change
"react-native-screens": "^4.20.0",
"react-native-screens": "~4.20.0",

Snyk has created this PR to upgrade react-native-screens from 4.19.0 to 4.20.0.

See this package in npm:
react-native-screens

See this project in Snyk:
https://app.snyk.io/org/whyiswhen/project/aed39381-6e7d-41b9-b7ea-15e35a2ff0f9?utm_source=github&utm_medium=referral&page=upgrade-pr
@coderabbitai

coderabbitai Bot commented Feb 11, 2026

Copy link
Copy Markdown

Important

Review skipped

Ignore keyword(s) in the title.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch snyk-upgrade-63c5b81d4bcab5e8d973be8c2b4af3df

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openhands-ai

openhands-ai Bot commented Feb 11, 2026

Copy link
Copy Markdown

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • CI Workflow

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #39 at branch `snyk-upgrade-63c5b81d4bcab5e8d973be8c2b4af3df`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@chirag127 chirag127 closed this Jul 2, 2026
@chirag127 chirag127 deleted the snyk-upgrade-63c5b81d4bcab5e8d973be8c2b4af3df branch July 2, 2026 05:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants